package com.itboye.ihomebank.interfaces;

/***
 * 用户登陆注册修改相关接口类
 * 
 * @author admin
 * 
 * @param <GoodsListModel>
 */
public interface IHouseInterface<HouseBean> {

	/**
	 * 房源发布
	 * 
	 * @param uid
	 *            发布人UID
	 * @param imgs
	 *            图片ID,多个,分割
	 * @param community_id
	 *            小区code
	 * @param rent_type
	 *            出租方式 : 【1=>整租,2=>合租-主卧,3=>合租-次卧】
	 * @param contact_name
	 *            联系人姓名
	 * @param contact_phone
	 *            联系人手机号码
	 * @param rent
	 *            租金,分,int
	 * @param size
	 *            面积,平米,int
	 * @param unit
	 *            户型，【1,0,0】 几室,几厅,几卫
	 * @param house_floor
	 *            楼层,int
	 * @param floors
	 *            总楼层,int
	 * @param house_decoration
	 *            装修程度,int，dtree:house_decoration
	 * @param house_pay
	 *            支付方式,多个,分割,dtree:house_pay
	 * @param house_dir
	 *            朝向，dtree:house_orientation
	 * @param address
	 *            房源详细地址
	 */
	void getHouseAdd(String uid, String imgs, String community_code,
			int rent_type, String contact_name, String contact_phone, int rent,
			int size, String unit, int house_floor, int floors,
			String house_decoration, String house_pay, String house_dir,
			String address);

	/***
	 * 
	 * @param uid
	 *            用户名
	 * @param fType
	 *            1：房源，2：帖子（暂无）
	 * @param favoriteId
	 *            房源ID
	 * @param status
	 *            1:添加收藏 0：删除收藏
	 */
	void collection(String uid, String fType, String favoriteId, int status);

	/****
	 * 
	 * @param cityCode
	 *            城市code
	 * @param searchText
	 *            查询文本
	 * @param areaOrZone
	 *            为空不限,区或区域
	 * @param rental
	 *            为空不限,租金 自定义查询规则 brp:大于等于多少 erp:小于等于多少 例如 brp100erp200
	 *            大于等于100小于等于200
	 * @param aceage
	 *            为空不限,面积 rba:大于等于多少 rea:小于等于多少 例如 rba100rea200 大于等于100小于等于200
	 * @param houseType
	 *            为空不限,房型
	 * @param rentType
	 *            租房类型
	 * @param decoration
	 *            为空不限,装修
	 * @param oritation
	 *            为空不限,朝向
	 * @param floor
	 *            为空不限,楼层
	 * @param source
	 *            为空不限,房源 用来查找（个人，经纪人）
	 * @param houseTag
	 * @param order
	 *            为空不限,排序
	 * @param perPage
	 *            每页条数，默认10条一页
	 * @param currentPage
	 *            页码，默认第一页
	 */
	void queryHouse(String cityCode, String searchText, String areaOrZone,
			String rental, String aceage, String houseType, String rentType,
			String decoration, String oritation, String floor, String source,
			String houseTag, String order, String perPage, String currentPage,String uid);

	/***
	 * 
	 * @param cityCode
	 */
	void getAreaByCityCode(String cityCode);

	/***
	 * 
	 * @param houseNo
	 *            房源编号
	 * @param isLogin
	 *            是否已登陆(登陆才返回联系电话) 0:否1:是
	 */
	void queryHouseDetail(String houseNo, String uid);

	/***
	 * 申请签约
	 * 
	 * @param uid
	 *            用户ID
	 * @param houseNo
	 *            房源编码
	 * @param remark
	 *            备注
	 * @param status
	 *            操作 0：申请 2：取消申请
	 */
	void shenQingQianYue(String uid, String houseNo, String remark,
			String status, String starttime, String endtime, String money,
			String paytype);

	/***
	 * 预约看房
	 * 
	 * @param uid
	 *            用户ID
	 * @param houseNo
	 *            房源编码
	 * @param mark
	 *            备注
	 * @param status
	 *            操作 0：申请 2：取消申请
	 */
	void yuYueKanFang(String uid, String houseNo, String mark, String status,
			String startT, String endT);

	/**
	 * 我的发布
	 * 
	 * @param uid
	 *            用户ID
	 */
	void getWoDeFaBu(String uid);

	/**
	 * 下架
	 * 
	 * @param uid
	 *            用户ID
	 * @param houseNo
	 *            房源编号
	 */
	void xiajia(String uid, String houseNo);

	/**
	 * 上架
	 * 
	 * @param uid
	 *            用户ID
	 * @param houseNo
	 *            房源编号
	 */
	void shangjia(String uid, String houseNo);

	/**
	 * 获取房源下级区域列表
	 * 
	 * @param area_code
	 *            城区编码
	 */
	void getQuyuLieBiao(String area_code);

	/**
	 * 获取房源下级区域列表
	 * 
	 * @param area_code
	 *            城区编码
	 */
	void getQuyuLieBiao02(String area_code);

	/**
	 * 选择租客
	 * 
	 * @param uid
	 *            房客ID
	 * @param houseNo
	 *            房源编号
	 * @param status
	 *            1:通过、2：作废
	 */
	void xuanZuKe(String uid, String ownerUid, String houseNo, String status);

	/**
	 * 查看申请房源的租客
	 * 
	 * @param houseNo
	 */
	void getZuKeList(String houseNo);

	/**
	 * 认证房源
	 * 
	 * @param uid
	 *            用户ID
	 * @param houseNo
	 *            房源编号
	 * @param pass
	 *            【0=>不通过,1=>通过】
	 * @param msg
	 *            驳回信息，default:'您的房源{house_no}未通过认证',推送用
	 */
	void fangYuanRenZheng(String uid, String houseNo, String pass, String msg);

	/**
	 * 我的房源
	 * 
	 * @param uid
	 */
	void getMyRentHouse(String uid);

	/**
	 * 房源数据字典
	 * 
	 * @param city_code
	 *            city编码
	 */
	void houseZiDian(String city_code);

	void qianYueGuanLi(String uid, String sort);

	/**
	 * 我的求租（房客看房申请列表）
	 * 
	 * @param uid
	 */
	void getQiuZu(String uid);

	/**
	 * 获取热门搜索
	 * 
	 * @param cityCode
	 */
	void getHotTag(String cityCode);

	/**
	 * 刷新房源列表
	 * 
	 * @param uid
	 *            房东uid
	 * @param houseNo
	 *            房源编号
	 */
	void refreshHouse(String uid, String houseNo);

	/**
	 * 预约看房列表
	 * 
	 * @param house_no
	 */
	void yuyuekanfangList(String house_no);

	/**
	 * 通过看房
	 * 
	 * @param house_no
	 * @param uid
	 * @param status
	 */
	void tongGuoYuYueKanFang(String house_no, String uid, String status);

	/**
	 * 申请租客详情
	 * 
	 * @param house_no
	 */
	void getFangKeXiangQing(String house_no);

	/**
	 * 获取小区
	 * 
	 * @param uid
	 * @param kword
	 * @param city
	 * @param max
	 */
	void getHouseArea(String uid, String kword, String city, String max);

	/**
	 * 获取房源修改的参数
	 * 
	 * @param uid
	 * @param house_no
	 */
	void houseEdit(String uid, String house_no);

	/**
	 * 认证房源
	 * 
	 * @param uid
	 * @param house_no
	 * @param property
	 * @param address
	 */
	void verifyApply(String uid, String house_no, String property,
			String address);
}
